home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 32 / Amiga Format AFCD32 (Nov 1998, Issue 117).iso / -seriously_amiga- / programming / other / hrtmon / hrtboot.s < prev    next >
Text File  |  1998-08-10  |  2KB  |  99 lines

  1.  
  2. ***************************
  3. ***    HRTmon Boot    ***
  4. ***************************
  5.  
  6.     XDEF _BootBlock
  7.  
  8.     incdir include:
  9.     include "exec/libraries.i"
  10.  
  11. ;VBR must be 0 !
  12.  
  13. s
  14. _BootBlock
  15. start        dc.b "DOS",0
  16.         dc.l 0
  17. address        dc.l 0            ;8 install address
  18.  
  19.         bra.b    next
  20.  
  21.         dc.b "HRT!"
  22.  
  23. next        movem.l    d0-d7/a0-a5,-(a7)
  24.         lea.l    start(pc),a5
  25.         move.l    address(pc),a3        ;install address
  26.         lea.l    data(pc),a0
  27.         lea.l    $70000,a2
  28.         move.w    #$100-1,d0
  29. copy_boot    move.l    (a0)+,(a2)+
  30.         dbf    d0,copy_boot
  31.         cmp.w    #37,LIB_VERSION(a6)
  32.         blt.b    .noccu
  33.         jsr    -636(a6)        ;CacheClearU
  34. .noccu        jmp    $70000
  35.  
  36. data        move.l    a1,a4
  37.         move.w    #2,28(a1)
  38.         move.l    #512*300,36(a1)
  39.         move.l    #512*2,44(a1)
  40.         move.l    a3,40(a1)
  41.         jsr    -456(a6)
  42.  
  43.         cmp.w    #37,LIB_VERSION(a6)
  44.         blt.b    .noccu
  45.         jsr    -636(a6)        ;CacheClearU
  46. .noccu
  47.         move.l    20(a3),d0        ;read Size to Alloc
  48.         beq.b    .noABS
  49.         move.l    a3,a1
  50.         jsr    -204(a6)        ;AllocABS
  51.         tst.l    d0
  52.         bne.b    .noABS
  53.         clr.l    20(a3)            ;AllocAbs failed
  54. .noABS
  55.         jsr    8(a3)            ;init HRTmon
  56.         lea.l    12(a3),a0
  57.         move.l    a0,$70004        ;save enter address
  58.  
  59.         lea.l    $dff006,a1
  60.         lea.l    $dff180,a2
  61. wait        move.w    (a1),(a2)
  62.         btst    #6,$bfe001
  63.         bne.s    wait
  64.  
  65.         move.l    a4,a1
  66.         move.w    #2,28(a1)
  67.         move.l    a5,40(a1)
  68.         move.l    #$400,36(a1)
  69.         clr.l    44(a1)
  70.         jsr    -456(a6)        ;Read New Boot-Block
  71.  
  72.         cmp.w    #37,LIB_VERSION(a6)
  73.         blt.b    .noccu
  74.         jsr    -636(a6)        ;CacheClearU
  75. .noccu
  76.         lea.l    12(a5),a6
  77.         movem.l    (a7)+,d0-d7/a0-a5
  78.         move.l    a6,$70000
  79.         move.l    $80.w,d0
  80.         lea.l    super(pc),a6
  81.         move.l    a6,$80.w
  82.         trap    #0
  83. super        move.l    d0,$80.w
  84.         move.l    $70000,2(a7)        ;return address from monitor
  85.         move.l    $4.w,a6
  86.         move.l    $70004,-(a7)
  87.         rts                ;jmp HRTmon
  88.  
  89.         dc.b " HRTmon2.0 Boot-Disk                    "
  90.         dc.b "  When the screen flashes enter the disk you want"
  91.         dc.b " to debug and press your left-mouse button. "
  92.         dc.b "                      "
  93.  
  94.         dc.b "              THIS DISK WAS GENERATED BY HRTmonPrefs             "
  95.  
  96. end2
  97.         dcb.b 2*512-(end2-start),0
  98. end
  99.